/**
 * 插件实质是带有init方法的一种类。该方法会有一个单独的参数（类型为Ext.Component）传入到其中。
 * 插件可通过组件的plugins配置项指定。
 * 当组件创建时，如果有插件可用，组件就会调用每个插件上的init方法，将自身的引用作为参数传入。
 * 每个插件运行之后可调用组件的方法或响应组件的事件以实现自身的功能。
 */
Ext.ux.OpenFlashChartPlugin = function() {
	this.init = function(ct) {
		ct.renderFlash = function() {

			var width = this.body.getSize().width - 2;
			var height = this.body.getSize().height - 2;

			swfobject.embedSWF(ct.swf, ct.chart_id, width, height, "9.0.0",
					"expressInstall.swf", {
						"data-file" : ct.json_data
					}, {
						'wmode' : 'transparent'
					});
		};
		ct.chartremove = function() {
			swfobject.removeSWF(ct.chart_id);
		};
		ct.loadFlash = function(config) {
			Ext.apply(this, config);
			this.renderFlash();
		};
		ct.on('afterlayout', ct.renderFlash, ct);
	};
};
